package com.sg.dto.biz.framework.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @desc AddPositionReqDto
 * @使用场景
 */
@Data
public class AddPositionReqDto extends BaseDto implements Serializable {

    /**
     * 冗余职务名称
     */
    @NotNull(message = "冗余职务名称不能为空")
    @ApiModelProperty("冗余职务名称")
    private String positionIdName;

    /**
     * 关联职务名称ID
     */
    @NotNull(message = "关联职务名称ID不能为空")
    @ApiModelProperty("关联职务名称ID")
    private String positionIdNameId;

    /**
     * 职务性质 PRINCIPAL:正职 DEPUTY:副职 MEMBER:成员
     */
    @NotNull(message = " 职务性质不能为空")
    @ApiModelProperty(" 职务性质")
    private String positionType;

    /**
     * 职务级别ID
     */
    @ApiModelProperty("职务级别ID")
    private String positionGradeId;

    /**
     * 关联岗位ID
     */
    @ApiModelProperty("关联岗位ID")
    private String stationId;

    /**
     * 职务类别字典ID
     */
    @ApiModelProperty("职务类别字典ID")
    private String typeDictionaryId;

    /**
     * 职务职责概述
     */
    @ApiModelProperty("职务职责概述")
    private String positionDutyDesc;

    /**
     * 职务目标概述
     */
    @ApiModelProperty("职务目标概述")
    private String positionTargetDesc;

    /**
     * 职务编号
     */
    @NotNull(message = "职务编号不能为空")
    @ApiModelProperty("职务编号")
    private String positionNumber;

    /**
     * 所属对象实例ID
     */
    @NotNull(message = "所属对象实例ID不能为空")
    @ApiModelProperty("所属对象实例ID")
    private String orgEntityId;

    /**
     * 是否可用于分管领导职务 TRUE:是 FALSE:否
     */
    @NotNull(message = "是否可用于分管领导职务不能为空")
    @ApiModelProperty("是否可用于分管领导职务")
    private String isOrgPosition;

    /**
     * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
     */
    @NotNull(message = "主体生命周期不能为空")
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;

}
